import fileService from '@/service/fileService';

const fileModule = {
  namespaced: true,

  actions: {
    // 创建文件（从表单获取参数）
    fcreate(context, { name, content }) {
      return new Promise((resolve, reject) => {
        fileService.fcreate({ name, content })
          .then((res) => { resolve(res); })
          .catch((err) => { reject(err); });
      });
    },
    // 上传文件
    fupload(context, { id, file }) {
      return new Promise((resolve, reject) => {
        fileService.fupload({ id, file })
          .then((res) => { resolve(res); })
          .catch((err) => { reject(err); });
      });
    },
    // 保存文件
    fsave(context, { id, content }) {
      return new Promise((resolve, reject) => {
        fileService.fsave({ id, content })
          .then((res) => { resolve(res); })
          .catch((err) => { reject(err); });
      });
    },
    // 重命名文件
    frename(context, { id, name }) {
      return new Promise((resolve, reject) => {
        fileService.frename({ id, name })
          .then((res) => { resolve(res); })
          .catch((err) => { reject(err); });
      });
    },
    // 列出文件树
    flist() {
      return new Promise((resolve, reject) => {
        fileService.flist()
          .then((res) => { resolve(res); })
          .catch((err) => { reject(err); });
      });
    },
    // 读取文件
    fload(context, { id }) {
      return new Promise((resolve, reject) => {
        fileService.fload({ id })
          .then((res) => { resolve(res); })
          .catch((err) => { reject(err); });
      });
    },
    // 删除文件
    fdelete(context, { id }) {
      return new Promise((resolve, reject) => {
        fileService.fdelete({ id })
          .then((res) => { resolve(res); })
          .catch((err) => { reject(err); });
      });
    },
  },
};

export default fileModule;
